package com.cheng.algorithm.sort;

import java.lang.reflect.Array;
import java.util.Arrays;

/**
 * @User Administrator
 * @Classname BubbleSort
 * @Project Data-structure-and-algorithm
 * @Description 冒泡排序代码实现
 * 1、一共进行数组大小-1趟排序
 * 2、完成第一排序，就得到最大的一个数，放在最后面
 * 3、完成第二排序，就得到第二大的一个数，放在倒数第二个位置
 * 4、依次类推，直到数组只剩一个数时，排序完毕
 * @Author wpcheng
 * @Create 2021-08-01-9:47
 * @Version 1.0
 */
public class BubbleSort {
    public static void main(String[] args) {
        int arr[] = {3,9,-1,10,-2};
        int temp = 0;

        for (int i = 0; i < arr.length-1; i++) { //O(n^2)
            for (int j = 0; j < arr.length-1-i; j++) {
                if (arr[j] > arr[j+1]) {//如果前面的数比后面的数大
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
            System.out.println("第"+(i+1)+"趟排序后的数组");
            System.out.println(Arrays.toString(arr));
        }


    }
}
